//Пример 28.
/*Дана строка символов. Группа слов разделенных пробелом (и не содержащих
пробелов внутри) называется словом. Подсчитать количество слов строке.
В этом примере интересны два момента:
1. ввод группы символов разделенных пробелами для этого обычный
ввод не годится); вводим с помощью параметра s функции scanf;
2. поиск слов; */
#include <conio.h>
#include <stdio.h>
#include <string.h>
main()
{
char c,f[30];
int i,k,n,l,instr(int n,char *f,char);
clrscr();
/* Стираем экран */
printf("\n Введите строку ");
l=0;
while(scanf("%c",&c),c!='\n') f[l++]=c;
f[l]='\0';
printf("\n Введена строка %s",f);
i=1 ;
n=0;
do {
k=instr(n,f,' ');
n=k+1; if(k>0)i++; else break;
} while(k>0);
printf("\n В этой строке %d слов.",i);
printf("\n Нажмите на любую клавишу ...");
getch(); /*Ждем нажатия на любую клавишу*/
}

instr(int n,char *st,char simv)
{int i; for(i=n;;i++)
{
if(st[i]=='\0')return 0; if(st[i]==simv&&st[i+1]!=' ')return i;
} }

 

Сайт управляется системой uCoz